package com.xzp.blog.service;

import com.xzp.blog.entity.User;
import com.xzp.blog.entity.dto.form.UserLoginForm;
import com.xzp.blog.entity.dto.form.UserRegisterForm;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;

/**
 * 用户信息操作接口
 */
public interface IUserService {


    /**
     * 登录验证
     * @param loginForm 登陆表单
     * @return 返回登陆用户的实体
     */
    User loginAuthentication(UserLoginForm loginForm);

    /**
     * 验证注册的用户名是否已存在
     * @param registerForm
     * @return
     */
    boolean registerUsernameCheckExist(UserRegisterForm registerForm);

    /**
     * 保存用户
     * @param user
     */
    void insertUser(User user);

    /**
     * 将用户信息加入到Session会话中
     * @param request
     * @param user
     */
    void joinSession(HttpServletRequest request,User user);

    /**
     * 从会话中销毁用户信息，注销
     * @param request
     */
    void destroySession(HttpServletRequest request);
}
